package com.agv.core.dao;

import java.util.ArrayList;

import com.agv.core.exception.SecurityException;
import com.agv.core.objectDomain.Modulo;
import com.agv.core.objectDomain.Usuario;

/**
 * @author casa
 * 
 */
public interface ISecurityDAO {

	/**
	 * @param cdkey
	 * @param pwPAssword
	 * @return
	 * @throws SecurityException
	 */
	public Usuario login(String cdkey, String pwPAssword)
			throws SecurityException;

	public ArrayList<Modulo> obtenerModulos(Usuario usuario)
			throws SecurityException;

	public ArrayList<Modulo> obtenerFuncionesPorModulo()
			throws SecurityException;

	public void actualizarUltimoAcceso(Usuario usuario)
			throws SecurityException;

	public String obtieneCdAcceso(Integer idUsuario) throws SecurityException;

	public void actualizaContrasenia(String pwContrasenia, Integer idUsuario)
			throws SecurityException;

	public void insertaCdPrimerAcceso(String cdPrimerAcceso, String bnMail)
			throws SecurityException;

	public void insertaPerfil(String nbPerfil, Integer stEstatus,
			String[] idFuncion) throws SecurityException;

}
